/*
 * CircunferenciaVisualizavel.java
 *
 * Created on 30 de Janeiro de 2007, 00:36
 */

package cefetpb.nav.cartesius.graph;

import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
import java.awt.BasicStroke;
import cefetpb.nav.cartesius.math.Circunferencia;

/**
 *
 * @author Rosberg
 */
public class CircunferenciaVisualizavel extends ObjetoGeometricoVisualizavel {
    private Circunferencia circunferencia;
    
    public CircunferenciaVisualizavel(String legenda, Circunferencia circunferencia) {
        super(legenda);
        this.circunferencia = circunferencia;
    }
    
    public void desenhar(Graphics2D g, PlaneMeasures pm) {
        double cornerX = this.circunferencia.getCentro().getX() - this.circunferencia.getRaio();
        double cornerY = this.circunferencia.getCentro().getY() + this.circunferencia.getRaio();
        
        double pixelCornerX = pm.posicaoEixoVertical + cornerX * pm.unidadeDeMedida;
        double pixelCornerY = pm.posicaoEixoHorizontal - cornerY * pm.unidadeDeMedida;
        double pixelRaio = this.circunferencia.getRaio() * pm.unidadeDeMedida;
        
        Ellipse2D elipse = new Ellipse2D.Double(pixelCornerX, pixelCornerY, pixelRaio * 2, pixelRaio * 2);
        
        g.setStroke(new BasicStroke(1));
        g.draw(elipse);
    }
}